package cn.maihe.elg.operation.model.vo.guarantee;

import cn.maihe.elg.operation.model.enums.TemplateParams;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description
 * @Author WJH
 * @Date 2021/05/24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TemplateParamsVO {
    /**
     * 出函机构名称
     */
    private String institutionName;
    /**
     * 出函机构法人
     */
    private String institutionLegal;
    /**
     * 出函机构地址
     */
    private String institutionAddress;
    /**
     * 出函机构电话
     */
    private String institutionPhone;
    /**
     * 出函机构邮编
     */
    private String institutionPostcode;

    /**
     * 项目编号变量
     */
    private String projectCode;
    /**
     * 项目名称变量
     */
    private String projectName;
    /**
     * 标段编号变量
     */
    private String sectionCode;
    /**
     * 标段名称变量
     */
    private String sectionName;
    /**
     * 保函编号变量
     */
    private String guaranteeCode;
    /**
     * 保函时间变量
     */
    private String guaranteeTime;
    /**
     * 投标文件递交截止日变量
     */
    private String bidOpenTime;
    /**
     * 受益人名称变量
     */
    private String beneficiary;
    /**
     * 被保证人名称变量
     */
    private String bidder;
    /**
     * 投标保证金单位元
     */
    private String bidBond;
    /**
     * 大写投标保证金单位元
     */
    private String bidBondUpper;
    /**
     * 保函查验地址
     */
    private String verifyUrl;

    /**
     * 模板参数值Map
     *
     * @return
     */
    public Map<String, String> toTemplateParamMap() {
        Map<String, String> map = new HashMap<>();
        map.put(TemplateParams.INSTITUTION_NAME.getParamName(), this.institutionName);
        map.put(TemplateParams.INSTITUTION_LEGAL.getParamName(), this.institutionLegal);
        map.put(TemplateParams.INSTITUTION_PHONE.getParamName(), this.institutionPhone);
        map.put(TemplateParams.INSTITUTION_ADDRESS.getParamName(), this.institutionAddress);
        map.put(TemplateParams.INSTITUTION_POSTCODE.getParamName(), this.institutionPostcode);
        map.put(TemplateParams.PROJECT_NAME.getParamName(), this.projectName);
        map.put(TemplateParams.PROJECT_CODE.getParamName(), this.projectCode);
        map.put(TemplateParams.SECTION_NAME.getParamName(), this.sectionName);
        map.put(TemplateParams.SECTION_CODE.getParamName(), this.sectionCode);
        map.put(TemplateParams.GUARANTEE_CODE.getParamName(), this.guaranteeCode);
        map.put(TemplateParams.GUARANTEE_TIME.getParamName(), this.guaranteeTime);
        map.put(TemplateParams.BENEFICIARY.getParamName(), this.beneficiary);
        map.put(TemplateParams.BIDDER.getParamName(), this.bidder);
        map.put(TemplateParams.BID_OPEN_TIME.getParamName(), this.bidOpenTime);
        map.put(TemplateParams.BID_BOND.getParamName(), this.bidBond);
        map.put(TemplateParams.BID_BOND_UPPER.getParamName(), this.bidBondUpper);
        map.put(TemplateParams.VERIFY_URL.getParamName(), this.verifyUrl);
        return map;
    }

}
